package j03zuoye;
/*
飞机
在com.hualan.fly包里创建一个FlyTest类，在类的main方法里测试接口的使用(创建实现类对象，调用接口中的方法；使用多态, 用接口类型保存实现类对象, 调用接口中的方法).

   (1) 创建接口IFly. 接口中包含一个void fly()方法.

   (2) 定义一个飞机类Airplane, 包含飞机名name, 容量capacity, 包含一个开门方法openDoor, 关门方法closeDoor, 飞机类**实现**了IFly接口.

   (3) 定义一个鸟类Bird, 包含名称name, 性别sex, 包含一个吃方法eat, 一个睡觉方法sleep, 鸟类**实现**了IFly接口.
 */
interface IFly{
    void fly();
}
class Airplane implements IFly{
    String name;
    int capacity;

    public Airplane() {
    }

    public Airplane(String name, int capacity) {
        this.name = name;
        this.capacity = capacity;
    }

    void penDoor(){
        System.out.println("打开了"+name+"飞机的门，容量为："+capacity);
    }
    void colseDoor(){
        System.out.println("关闭了"+name+"飞机的门，容量为："+capacity);
    }
    @Override
    public void fly() {
        System.out.println(name+"飞机起飞，容量为："+capacity);
    }
}
class Bird implements IFly{
    String name;
    String sex;
    public Bird() {
    }

    public Bird(String name, String sex) {
        this.name = name;
        this.sex = sex;
    }

    @Override
    public void fly() {

    }
    public void eat() {

    }
}
public class Z3flytest {
    public static void main(String[] args) {
        Airplane airplane = new Airplane("运20",2);
        airplane.penDoor();
        airplane.colseDoor();
        airplane.fly();

        IFly fly1 = new Airplane("波音747",200);
        fly1.fly();
        Airplane airplane1 = (Airplane) fly1;
        airplane1.penDoor();
        airplane1.colseDoor();
        airplane1.fly();
    }
}
